<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    function move() {
        console.log(this);
    }
    move(); //window    严格模式下：undefined
    window.move();  //window

    // 对象里
    var obj = {
        a: 10,
        b: {
            fn: function () {
                console.log(this)
            }
        }
    }
    // obj.b();    //obj对象   {a: 10, b: ƒ}
    // window.obj.b();     //obj对象   {a: 10, b: ƒ}
    var abc = obj.b.fn;
    window.obj.b.fn();  //b对象     {fn: ƒ}
    abc();  //window 


    
    /*
        函数内部：
            【this最终指向的是调用他的对象】
                1、普通函数直接调用与window调用
                2、对象中的函数直接调用与window调用

            【函数被多层对象所包含，如果函数被最外层对象调用，this指向的也只是它上一级的对象】
                1、多层对象中的函数的this指向
                2、对象中的函数被赋值给另一个变量

            【】

    */




</script>

</html>